如果您正在嘗試熟悉依賴于應用程序和服務之間互連的技術,那么您可能已經多次聽說過 API 一詞。如果你還不知道它是什么,我們可以說API是所謂的Application Programming Interface的縮寫。也許這并不能告訴您太多信息,但如果沒有 API,在線服務和用戶之間的通信將無法實現或存在缺陷。在本文中,我們試圖闡明什么是 API 以及如何使用它的基礎知識。
什么是 API?
正如我們前面提到的,API 來自于應用程序編程接口的概念。基本上,API 是操作系統中的工具和資源系統,允許開發人員創建和通信軟件應用程序。在編程方面,API 就是通常所說的抽象層。
如果您覺得它不夠清楚,我們將更容易地解釋它:API 是一種充當兩個應用程序之間中介的軟件。它是幫助應用程序進行通信或相互交談的信使。
如果我們想一個日常生活的說明性示例,您可以想象當您通過電話訂購披薩時會發生什么。在披薩送到你家之前,你必須通過電話告訴負責接單的服務員你想要什么樣的披薩,對吧?然后,服務員會要求廚師(系統)按照您點的方式準備您的披薩。
一旦準備好,將被送到您的地址。在這種情況下,通過電話接受訂單并將其傳達給廚師的服務員將是一個 API。為什么?因為服務員負責將您的訂單帶到系統中,以便將您所要求的內容返還給您。就像真正的 API 一樣,它為應用程序和服務之間提供通信通道。
基礎API對接
前面的示例以非?;镜姆绞较蚰故玖?API 的功能,但是,有幾種情況會同時使用多個 API,例如,當您通過 Kayak 等旅游門戶網站預訂酒店或機票時,獼猴桃或 Expedia。所有這些都通過不同的 API 將您連接到酒店和航空公司,以滿足您的搜索請求。
我們對 API 功能的解釋的另一個例子是,當您決定通過 Google 地圖請求 Uber 時會發生什么。當 Google 地圖向 Uber 詢問旅行費用、車輛可用性、位置和其他信息時,Uber API 會收到此請求,使用 Uber 平臺處理信息并將結果返回給 Google 地圖。
API的語言
通常,API 使用一種稱為 JSON (Javascript 對象表示法)的語言。JSON 是一個基于 Javascript 的開源庫,它提供了旨在提取和使用存儲在 HTML 文檔中的數據的方法。此庫是 REST API 調用所在的位置。
什么是 REST API?
REST API 是基本 API 的演變,被翻譯為 Representational State Transfer。REST API 的行為方式與網站非常相似,也就是說,REST API 通過進行客戶端到服務器調用來執行,從該調用通過 HTTP 協議返回數據。你還記得我們在披薩訂單中使用的例子嗎?就像那樣工作。
因此,REST API 為我們提供了使用 Internet 上不屬于我們的站點或平臺的服務的功能,例如 Twitter 或 Facebook。我們可以以 Twitter 的 API REST 和使用它的客戶端為例,例如 Tweetbot、Metrotwit 或 Birdie。當這些客戶端中的每一個使用 Twitter REST API 時,API 的方法和功能都是有限的,無法修改,即無法添加新功能。通過這種方式,Twitter 可以確保其 REST API 將按照其默認設置運行。許多其他在線服務也是如此。
使用其他開發人員創建的 API 的優勢在于,您將節省大量為自己的應用程序創建代碼的時間,因為您可以在 JSON 庫中封裝并成功測試許多函數。多虧了這一點,無論您使用哪種編程語言,您都可以更快速、更高效地設計您的應用程序?,F在您知道為什么 API 對互連如此重要。